home *** CD-ROM | disk | FTP | other *** search
/ Freelog 117 / FreelogNo117-OctobreNovembre2013.iso / Programmation / jedit / jedit5.1.0install.exe / {app} / modes / ml.xml < prev    next >
Extensible Markup Language  |  2013-07-28  |  7KB  |  217 lines

  1. <?xml version="1.0"?>
  2.  
  3. <!DOCTYPE MODE SYSTEM "xmode.dtd">
  4.  
  5. <!-- SML MODE 1.0.1 by Lucas Dixon, based on Ingmar Stein's ml mode -->
  6. <MODE>
  7.   <PROPS>
  8.     <PROPERTY NAME="commentStart" VALUE="(*"/>
  9.     <PROPERTY NAME="commentEnd" VALUE="*)"/>
  10.     <PROPERTY NAME="wordBreakChars" VALUE=",+-=<>/?^&*\\/(){}" />
  11. <!-- JEdit's indent mechanism is not expressive enough for ML.
  12.      It is best not to even try to have automated indentation for ML until significant improvements are made to the indent language. -->
  13. <!--
  14.     <PROPERTY NAME="doubleBracketIndent" VALUE="false" />
  15.     <PROPERTY NAME="lineUpClosingBracket" VALUE="true" />
  16.     <PROPERTY NAME="unalignedOpenBrackets" VALUE="([{" />
  17.     <PROPERTY NAME="unalignedCloseBrackets" VALUE=")]}" />
  18.     <PROPERTY NAME="indentOpenBrackets" VALUE="([{" />
  19.     <PROPERTY NAME="indentCloseBrackets" VALUE=")]}" />
  20.     <PROPERTY NAME="indentNextLines"
  21.       VALUE="(^|.*\s+)(let|sig|struct|local)(\W+.*|)$" />
  22.     <PROPERTY NAME="unindentNextLines"
  23.       VALUE="(^|.*\s+)(end)(\W+.*|)$" />
  24.     <PROPERTY NAME="unindentThisLine"
  25.       VALUE="(^|\s+)(local|val|fun|end|in|open)(\W+.*|)$" />
  26. -->
  27.   </PROPS>
  28.  
  29.   <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE">
  30.     <!-- comments -->
  31.     <SPAN TYPE="COMMENT1">
  32.       <BEGIN>(*</BEGIN>
  33.       <END>*)</END>
  34.     </SPAN>
  35.  
  36.     <!-- character literals -->
  37.     <SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE">
  38.       <BEGIN>#"</BEGIN>
  39.       <END>"</END>
  40.     </SPAN>
  41.  
  42.     <!-- string literals -->
  43.     <SPAN TYPE="LITERAL1" ESCAPE="\" NO_LINE_BREAK="TRUE">
  44.       <BEGIN>"</BEGIN>
  45.       <END>"</END>
  46.     </SPAN>
  47.  
  48.     <!-- built-in operators -->
  49.  
  50.     <!-- infix precedence 7 -->
  51.     <SEQ TYPE="OPERATOR">/</SEQ>
  52.     <SEQ TYPE="OPERATOR">*</SEQ>
  53.  
  54.     <!-- reserved & operator characters -->
  55.     <SEQ TYPE="OPERATOR">+</SEQ>
  56.     <SEQ TYPE="OPERATOR">-</SEQ>
  57.     <SEQ TYPE="OPERATOR">^</SEQ>
  58.     <SEQ TYPE="OPERATOR">@</SEQ>
  59.     <SEQ TYPE="OPERATOR">=</SEQ>
  60.     <SEQ TYPE="OPERATOR"><</SEQ>
  61.     <SEQ TYPE="OPERATOR">></SEQ>
  62.     <SEQ TYPE="OPERATOR">(</SEQ>
  63.     <SEQ TYPE="OPERATOR">)</SEQ>
  64.     <SEQ TYPE="OPERATOR">[</SEQ>
  65.     <SEQ TYPE="OPERATOR">]</SEQ>
  66.     <SEQ TYPE="OPERATOR">{</SEQ>
  67.     <SEQ TYPE="OPERATOR">}</SEQ>
  68.     <SEQ TYPE="OPERATOR">,</SEQ>
  69.     <SEQ TYPE="OPERATOR">:</SEQ>
  70.     <SEQ TYPE="OPERATOR">;</SEQ>
  71.     <SEQ TYPE="OPERATOR">|</SEQ>
  72.     <SEQ TYPE="OPERATOR">#</SEQ>
  73.  
  74.  
  75.     <MARK_FOLLOWING TYPE="FUNCTION"
  76.     MATCH_TYPE="KEYWORD1">fun </MARK_FOLLOWING>
  77.     <MARK_FOLLOWING TYPE="FUNCTION"
  78.     MATCH_TYPE="KEYWORD1">val </MARK_FOLLOWING>
  79.     <MARK_FOLLOWING TYPE="FUNCTION"
  80.     MATCH_TYPE="KEYWORD1">exception </MARK_FOLLOWING>
  81.  
  82.     <MARK_FOLLOWING TYPE="FUNCTION"
  83.     MATCH_TYPE="KEYWORD1">type </MARK_FOLLOWING>
  84.     <MARK_FOLLOWING TYPE="FUNCTION"
  85.     MATCH_TYPE="KEYWORD1">abstype </MARK_FOLLOWING>
  86.      <MARK_FOLLOWING TYPE="FUNCTION"
  87.     MATCH_TYPE="KEYWORD1">eqtype </MARK_FOLLOWING>
  88.     <MARK_FOLLOWING TYPE="FUNCTION"
  89.     MATCH_TYPE="KEYWORD1">datatype </MARK_FOLLOWING>
  90.  
  91.     <MARK_FOLLOWING TYPE="LITERAL3"
  92.     MATCH_TYPE="KEYWORD1">functor </MARK_FOLLOWING>
  93.     <MARK_FOLLOWING TYPE="LITERAL3"
  94.     MATCH_TYPE="KEYWORD1">structure </MARK_FOLLOWING>
  95.     <MARK_FOLLOWING TYPE="LITERAL3"
  96.     MATCH_TYPE="KEYWORD1">signature </MARK_FOLLOWING>
  97.  
  98.     <!-- reserved words -->
  99.     <KEYWORDS>
  100.       <!-- built-in operators -->
  101.  
  102.       <!-- infix precedence 7 -->
  103.       <OPERATOR>div</OPERATOR>
  104.       <OPERATOR>mod</OPERATOR>
  105.  
  106.       <!-- infix precedence 3 -->
  107.       <OPERATOR>o</OPERATOR>
  108.  
  109.       <!-- infix precedence 0 -->
  110.       <OPERATOR>before</OPERATOR>
  111.  
  112.       <!-- type def -->
  113.       <KEYWORD1>abstype</KEYWORD1>
  114.       <KEYWORD1>datatype</KEYWORD1>
  115.       <KEYWORD1>eqtype</KEYWORD1>
  116.       <KEYWORD1>type</KEYWORD1>
  117.  
  118.       <!-- value definitions -->
  119.       <KEYWORD1>exception</KEYWORD1>
  120.       <KEYWORD1>fun</KEYWORD1>
  121.       <KEYWORD1>val</KEYWORD1>
  122.       <KEYWORD1>fn</KEYWORD1>
  123.  
  124.       <!-- generic definitional -->
  125.       <KEYWORD1>and</KEYWORD1>
  126.       <KEYWORD1>end</KEYWORD1>
  127.       <KEYWORD1>in</KEYWORD1>
  128.       <KEYWORD1>infix</KEYWORD1>
  129.       <KEYWORD1>infixr</KEYWORD1>
  130.       <KEYWORD1>let</KEYWORD1>
  131.       <KEYWORD1>local</KEYWORD1>
  132.       <KEYWORD1>as</KEYWORD1>
  133.       <KEYWORD1>of</KEYWORD1>
  134.       <KEYWORD1>op</KEYWORD1>
  135.  
  136.       <!-- module level -->
  137.       <KEYWORD1>functor</KEYWORD1>
  138.       <KEYWORD1>include</KEYWORD1>
  139.       <KEYWORD1>open</KEYWORD1>
  140.       <KEYWORD1>sharing</KEYWORD1>
  141.       <KEYWORD1>sig</KEYWORD1>
  142.       <KEYWORD1>signature</KEYWORD1>
  143.       <KEYWORD1>struct</KEYWORD1>
  144.       <KEYWORD1>structure</KEYWORD1>
  145.       <KEYWORD1>where</KEYWORD1>
  146.       <KEYWORD1>with</KEYWORD1>
  147.  
  148.       <!-- logic/control flow -->
  149.       <KEYWORD1>andalso</KEYWORD1>
  150.       <KEYWORD1>orelse</KEYWORD1>
  151.       <KEYWORD1>else</KEYWORD1>
  152.       <KEYWORD1>if</KEYWORD1>
  153.       <KEYWORD1>case</KEYWORD1>
  154.       <KEYWORD1>handle</KEYWORD1>
  155.       <KEYWORD1>raise</KEYWORD1>
  156.       <KEYWORD1>then</KEYWORD1>
  157.  
  158.       <!--- other -->
  159.       <KEYWORD1>do</KEYWORD1>
  160.       <KEYWORD1>nonfix</KEYWORD1>
  161.       <KEYWORD1>rec</KEYWORD1>
  162.       <KEYWORD1>withtype</KEYWORD1>
  163.       <KEYWORD1>while</KEYWORD1>
  164.  
  165.       <!-- built-in types -->
  166.       <KEYWORD3>array</KEYWORD3>
  167.       <KEYWORD3>bool</KEYWORD3>
  168.       <KEYWORD3>char</KEYWORD3>
  169.       <KEYWORD3>exn</KEYWORD3>
  170.       <KEYWORD3>frag</KEYWORD3>
  171.       <KEYWORD3>int</KEYWORD3>
  172.       <KEYWORD3>list</KEYWORD3>
  173.       <KEYWORD3>option</KEYWORD3>
  174.       <KEYWORD3>order</KEYWORD3>
  175.       <KEYWORD3>real</KEYWORD3>
  176.       <KEYWORD3>ref</KEYWORD3>
  177.       <KEYWORD3>string</KEYWORD3>
  178.       <KEYWORD3>substring</KEYWORD3>
  179.       <KEYWORD3>unit</KEYWORD3>
  180.       <KEYWORD3>vector</KEYWORD3>
  181.       <KEYWORD3>word</KEYWORD3>
  182.       <KEYWORD3>word8</KEYWORD3>
  183.  
  184.       <!-- build-in exception constructors -->
  185.       <KEYWORD2>Bind</KEYWORD2>
  186.       <KEYWORD2>Chr</KEYWORD2>
  187.       <KEYWORD2>Domain</KEYWORD2>
  188.       <KEYWORD2>Div</KEYWORD2>
  189.       <KEYWORD2>Fail</KEYWORD2>
  190.       <KEYWORD2>Graphic</KEYWORD2>
  191.       <KEYWORD2>Interrupt</KEYWORD2>
  192.       <KEYWORD2>Io</KEYWORD2>
  193.       <KEYWORD2>Match</KEYWORD2>
  194.       <KEYWORD2>Option</KEYWORD2>
  195.       <KEYWORD2>Ord</KEYWORD2>
  196.       <KEYWORD2>Overflow</KEYWORD2>
  197.       <KEYWORD2>Size</KEYWORD2>
  198.       <KEYWORD2>Subscript</KEYWORD2>
  199.       <KEYWORD2>SysErr</KEYWORD2>
  200.  
  201.       <!-- built-in literals -->
  202.       <LITERAL2>false</LITERAL2>
  203.       <LITERAL2>true</LITERAL2>
  204.       <LITERAL2>QUOTE</LITERAL2>
  205.       <LITERAL2>ANTIQUOTE</LITERAL2>
  206.       <LITERAL2>nil</LITERAL2>
  207.       <LITERAL2>NONE</LITERAL2>
  208.       <LITERAL2>SOME</LITERAL2>
  209.       <LITERAL2>LESS</LITERAL2>
  210.       <LITERAL2>EQUAL</LITERAL2>
  211.       <LITERAL2>GREATER</LITERAL2>
  212.     </KEYWORDS>
  213.  
  214.   </RULES>
  215. </MODE>
  216.  
  217.